import request from '@/utils/request'

// ========================= 认证相关 =========================
/**
 * 管理员登录
 * @param {Object} data 登录信息
 * @returns {Promise}
 */
export function login(data) {
  return request({
    url: '/admin/login',
    method: 'post',
    data
  })
}

/**
 * 用户登出
 * @returns {Promise}
 */
export function logout() {
  return request({
    url: '/user/logout',
    method: 'post'
  })
}

/**
 * 获取用户信息
 * @returns {Promise}
 */
export function getUserInfo() {
  return request({
    url: '/user/info',
    method: 'get'
  })
}

// ========================= 配置管理 =========================
/**
 * 获取配置列表
 * @param {Object} data 请求参数
 * @returns {Promise}
 */
export function configList(data = {}) {
  return request({
    url: '/config/list',
    method: 'post',
    data
  })
}

/**
 * 修改配置
 * @param {Object} data 配置信息
 * @returns {Promise}
 */
export function configUpdate(data) {
  return request({
    url: '/config/update',
    method: 'post',
    data
  })
}

// ========================= 玩家管理 =========================
/**
 * 玩家列表
 * @param {Object} data 查询参数
 * @returns {Promise}
 */
export function playerList(data = { page: 1, page_size: 10 }) {
  return request({
    url: '/player/list',
    method: 'post',
    data
  })
}

/**
 * 在线玩家信息
 * @param {Object} data 查询参数
 * @returns {Promise}
 */
export function playerOnline(data = { page: 1, page_size: 10 }) {
  return request({
    url: '/player/online',
    method: 'post',
    data
  })
}

/**
 * 玩家封禁/解禁
 * @param {Object} data 封禁信息
 * @returns {Promise}
 */
export function playerForbid(data) {
  return request({
    url: '/player/forbid',
    method: 'post',
    data
  })
}

/**
 * 修改玩家信息
 * @param {Object} data 玩家信息
 * @returns {Promise}
 */
export function updatePlayer(data) {
  return request({
    url: '/player/update',
    method: 'post',
    data
  })
}

/**
 * 重置玩家密码
 * @param {Object} data 密码信息
 * @returns {Promise}
 */
export function playerResetPasswd(data) {
  return request({
    url: '/player/reset_passwd',
    method: 'post',
    data
  })
}

/**
 * 道具日志
 * @param {Object} data 查询参数
 * @returns {Promise}
 */
export function playerCoinRecord(data = { page: 1, page_size: 10 }) {
  return request({
    url: '/player/coin_record',
    method: 'post',
    data
  })
}

/**
 * TAG日志
 * @param {Object} data 查询参数
 * @returns {Promise}
 */
export function playerTagRecord(data = { page: 1, page_size: 10 }) {
  return request({
    url: '/player/tag_record',
    method: 'post',
    data
  })
}

// ========================= 支付管理 =========================
/**
 * 获取支付渠道
 * @param {Object} data 请求参数
 * @returns {Promise}
 */
export function payChannel(data = {}) {
  return request({
    url: '/pay/channel',
    method: 'post',
    data
  })
}

/**
 * 支付渠道开关
 * @param {Object} data 渠道开关信息
 * @returns {Promise}
 */
export function payChannelOpen(data) {
  return request({
    url: '/pay/channel_open',
    method: 'post',
    data
  })
}

/**
 * 新增支付渠道
 * @param {Object} data 渠道信息
 * @returns {Promise}
 */
export function payChannelAdd(data) {
  return request({
    url: '/pay/add',
    method: 'post',
    data
  })
}

/**
 * 编辑支付渠道
 * @param {Object} data 渠道信息
 * @returns {Promise}
 */
export function payChannelEdit(data) {
  return request({
    url: '/pay/edit',
    method: 'post',
    data
  })
}

/**
 * 支付记录
 * @param {Object} data 查询参数
 * @returns {Promise}
 */
export function payRecord(data = { page: 1, page_size: 10 }) {
  return request({
    url: '/pay/record',
    method: 'post',
    data
  })
}

/**
 * 支付统计
 * @param {Object} data 查询参数
 * @returns {Promise}
 */
export function payStatistic(data = { page: 1, page_size: 10 }) {
  return request({
    url: '/statistic/pay',
    method: 'post',
    data
  })
}

// ========================= 提现管理 =========================
/**
 * 获取提现渠道
 * @param {Object} data 请求参数
 * @returns {Promise}
 */
export function cashoutChannel(data = {}) {
  return request({
    url: '/cashout/channel',
    method: 'post',
    data
  })
}

/**
 * 提现渠道开关
 * @param {Object} data 渠道开关信息
 * @returns {Promise}
 */
export function cashoutChannelOpen(data) {
  return request({
    url: '/cashout/channel_open',
    method: 'post',
    data
  })
}

/**
 * 新增提现渠道
 * @param {Object} data 渠道信息
 * @returns {Promise}
 */
export function cashoutChannelAdd(data) {
  return request({
    url: '/cashout/add',
    method: 'post',
    data
  })
}

/**
 * 编辑提现渠道
 * @param {Object} data 渠道信息
 * @returns {Promise}
 */
export function cashoutChannelEdit(data) {
  return request({
    url: '/cashout/edit',
    method: 'post',
    data
  })
}

/**
 * 获取自动发货配置
 * @param {Object} data 请求参数
 * @returns {Promise}
 */
export function cashoutAuto(data = {}) {
  return request({
    url: '/cashout/auto',
    method: 'post',
    data
  })
}

/**
 * 保存自动发货配置
 * @param {Object} data 配置信息
 * @returns {Promise}
 */
export function cashoutAutoSave(data) {
  return request({
    url: '/cashout/auto_save',
    method: 'post',
    data
  })
}

/**
 * 提现记录
 * @param {Object} data 查询参数
 * @returns {Promise}
 */
export function cashoutRecord(data = { page: 1, page_size: 10 }) {
  return request({
    url: '/cashout/record',
    method: 'post',
    data
  })
}

/**
 * 提现统计
 * @param {Object} data 查询参数
 * @returns {Promise}
 */
export function cashoutStatistic(data = { page: 1, page_size: 10 }) {
  return request({
    url: '/statistic/cashout',
    method: 'post',
    data
  })
}

// ========================= 邀请管理 =========================
/**
 * 邀请列表
 * @param {Object} data 查询参数
 * @returns {Promise}
 */
export function agentList(data = { page: 1, page_size: 10 }) {
  return request({
    url: '/agent/list',
    method: 'post',
    data
  })
}

/**
 * 添加邀请关系
 * @param {Object} data 邀请信息
 * @returns {Promise}
 */
export function agentAdd(data) {
  return request({
    url: '/agent/add',
    method: 'post',
    data
  })
}

/**
 * 邀请统计
 * @param {Object} data 查询参数
 * @returns {Promise}
 */
export function agentStatistic(data = { page: 1, page_size: 10 }) {
  return request({
    url: '/statistic/agent',
    method: 'post',
    data
  })
}

// ========================= 兑换码管理 =========================
/**
 * 兑换码列表
 * @param {Object} data 查询参数
 * @returns {Promise}
 */
export function cdkeyList(data) {
  return request({
    url: '/cdkey/list',
    method: 'post',
    data
  })
}

/**
 * 添加兑换码
 * @param {Object} data 兑换码信息
 * @returns {Promise}
 */
export function cdkeyAdd(data) {
  return request({
    url: '/cdkey/add',
    method: 'post',
    data
  })
}

/**
 * 编辑兑换码
 * @param {Object} data 兑换码信息
 * @returns {Promise}
 */
export function cdkeyEdit(data) {
  return request({
    url: '/cdkey/edit',
    method: 'post',
    data
  })
}

/**
 * 删除兑换码
 * @param {Object} data 兑换码信息
 * @returns {Promise}
 */
export function cdkeyDelete(data) {
  return request({
    url: '/cdkey/remove',
    method: 'post',
    data
  })
}

// ========================= 机台管理 =========================
/**
 * 机台历史累计数据
 * @param {Object} data 查询参数
 * @returns {Promise}
 */
export function gameTotalList(data = { page: 1, page_size: 10 }) {
  return request({
    url: '/game/total_list',
    method: 'post',
    data
  })
}

/**
 * 机台详细数据
 * @param {Object} data 查询参数
 * @returns {Promise}
 */
export function gameDetailList(data = { page: 1, page_size: 10 }) {
  return request({
    url: '/game/detail_list',
    method: 'post',
    data
  })
}

/**
 * 每日总机台盈利
 * @param {Object} data 查询参数
 * @returns {Promise}
 */
export function gameDayList(data = { page: 1, page_size: 10 }) {
  return request({
    url: '/game/day_list',
    method: 'post',
    data
  })
}

// ========================= 统计数据 =========================
/**
 * 注册统计数据
 * @param {Object} data 查询参数
 * @returns {Promise}
 */
export function registerStatistic(data = { page: 1, page_size: 10 }) {
  return request({
    url: '/statistic/register',
    method: 'post',
    data
  })
}

/**
 * 活动统计数据
 * @param {Object} data 查询参数
 * @returns {Promise}
 */
export function activityStatistic(data = { page: 1, page_size: 10 }) {
  return request({
    url: '/statistic/activity',
    method: 'post',
    data
  })
}

// ========================= 其他系统接口 =========================
/**
 * 版本检查
 * @param {Object} data 版本信息
 * @returns {Promise}
 */
export function systemVersion(data) {
  return request({
    url: '/system/version',
    method: 'post',
    data,
    baseURL: 'http://127.0.0.1:8080/smart-api'
  })
}

/**
 * 用户注册
 * @param {Object} data 注册信息
 * @returns {Promise}
 */
export function userRegister(data) {
  return request({
    url: '/player/register',
    method: 'post',
    data,
    baseURL: 'http://127.0.0.1:8080/smart-api'
  })
}

/**
 * 用户登录
 * @param {Object} data 登录信息
 * @returns {Promise}
 */
export function userLogin(data) {
  return request({
    url: '/player/login',
    method: 'post',
    data,
    baseURL: 'http://127.0.0.1:8080/smart-api'
  })
}

/**
 * 修改密码
 * @param {Object} data 密码信息
 * @returns {Promise}
 */
export function changePassword(data) {
  return request({
    url: '/hall/player/modifyPassword',
    method: 'post',
    data,
    baseURL: 'http://127.0.0.1:8080/smart-api'
  })
}

/**
 * 支付回调
 * @param {Object} data 回调数据
 * @returns {Promise}
 */
export function payNotify(data) {
  return request({
    url: '/fpay/pay_notify',
    method: 'post',
    data,
    baseURL: 'http://127.0.0.1:8181/smart-pay',
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    }
  })
}

/**
 * TCP转发
 * @param {Object} data 转发数据
 * @returns {Promise}
 */
export function tcpTransfer(data) {
  return request({
    url: '/transfer',
    method: 'post',
    data,
    baseURL: 'http://127.0.0.1:9413/smart-tcp'
  })
} 
export function channelOpen(data) {
  return request({
    url: '/cashout/channel_open',
    method: 'post',
    data
  })
} 
//提现审核
export function recordAgree(data) {
  return request({
    url: '/cashout/record_agree',
    method: 'post',
    data
  })
} 
